From: Chao Peng Date: Fri, 9 Jan 2015 16:35:43 +0000 (+0100) Subject: x86: expose CMT L3 event mask to user space X-Git-Tag: archive/raspbian/4.8.0-1+rpi1~1^2~3950 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=877eda3223161b995feacce8d2356ced1f627fa8;p=xen.git x86: expose CMT L3 event mask to user space L3 event mask indicates the event types supported in host, including cache occupancy event as well as local/total memory bandwidth events for Memory Bandwidth Monitoring(MBM). Expose it so all these events can be monitored in user space. Signed-off-by: Chao Peng Reviewed-by: Andrew Cooper Acked-by: Jan Beulich --- diff --git a/xen/arch/x86/sysctl.c b/xen/arch/x86/sysctl.c index 57ad99200e..611a291fe2 100644 --- a/xen/arch/x86/sysctl.c +++ b/xen/arch/x86/sysctl.c @@ -157,6 +157,9 @@ long arch_do_sysctl( sysctl->u.psr_cmt_op.u.data = (ret ? 0 : info.size); break; } + case XEN_SYSCTL_PSR_CMT_get_l3_event_mask: + sysctl->u.psr_cmt_op.u.data = psr_cmt->l3.features; + break; default: sysctl->u.psr_cmt_op.u.data = 0; ret = -ENOSYS; diff --git a/xen/include/public/sysctl.h b/xen/include/public/sysctl.h index b3713b3f8e..8552dc6d7c 100644 --- a/xen/include/public/sysctl.h +++ b/xen/include/public/sysctl.h @@ -641,6 +641,7 @@ DEFINE_XEN_GUEST_HANDLE(xen_sysctl_coverage_op_t); /* The L3 cache size is returned in KB unit */ #define XEN_SYSCTL_PSR_CMT_get_l3_cache_size 2 #define XEN_SYSCTL_PSR_CMT_enabled 3 +#define XEN_SYSCTL_PSR_CMT_get_l3_event_mask 4 struct xen_sysctl_psr_cmt_op { uint32_t cmd; /* IN: XEN_SYSCTL_PSR_CMT_* */ uint32_t flags; /* padding variable, may be extended for future use */